package com.dckj.auto.common.enums;

import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.EnumUtils;

import java.util.ArrayList;
import java.util.List;


/** 订单状态
 *
 * <br>创建日期：2017-12-4
 * <br><b>Copyright 2017 DCKEJI All Rights Reserved</b>
 * @author WangDong
 * @since 1.0
 * @version 1.0
 */
public enum AuthAttribute {
//	 1:后台管理 2：前端管理
	/**
	 * 后台管理 1
	 */
	SYSTEM("后台管理",1),

	/**
		 * 前端管理 2
		 */
	FRONT_END("前端管理",2);



    private String name;

	private Integer value;



	/**
	 * @since 1.0
	 * @return
	 * <br><b>作者： @author WangDongdong</b>
	 * <br>创建时间：2017-5-24 上午10:12:38
	 */
	public String getName() {
		return name;
	}



	/**
	 * @since 1.0
	 * @param name
	 * <br><b>作者： @author WangDongdong</b>
	 * <br>创建时间：2017-5-24 上午10:12:41
	 */
	public void setName(String name) {
		this.name = name;
	}


	/**
	 * @since 1.0
	 * @return
	 * <br><b>作者： @author WangDongdong</b>
	 * <br>创建时间：2017-5-24 上午10:12:48
	 */
	public Integer getValue() {
		return value;
	}



	/**
	 * @since 1.0
	 * @param value
	 * <br><b>作者： @author WangDongdong</b>
	 * <br>创建时间：2017-5-24 上午10:12:54
	 */
	public void setValue(Integer value) {
		this.value = value;
	}

	/**
	 * @param name
	 * @param value
	 */
	private AuthAttribute(String name, Integer value){
		this.name = name;
		this.value = value;
	}

	/**
	 * 
	 */
	public static List<AuthAttribute> allKeys = EnumUtils.getEnumList(AuthAttribute.class);
	
	
	
	/**
	 * @since 1.0
	 * @param status
	 * @return
	 * <br><b>作者： @author WangDongdong</b>
	 * <br>创建时间：2017-5-24 上午10:13:07
	 */
	public static AuthAttribute value(String status){
		for(AuthAttribute eachStatus : allKeys){
			if(eachStatus.getValue().equals(status)){
				return eachStatus;
			}
		}
		return null;
	}

	
	
	
	
	/**获取消息类别json
	 *
	 * @since 1.0
	 * @return
	 * <br><b>作者： @author WangDong</b>
	 * <br>创建时间：2017-12-4 上午11:26:58
	 */
	public static List<JSONObject> toJSONArray(){
		List<JSONObject> list = new ArrayList<>();
		for(AuthAttribute codes : allKeys){
			JSONObject json = new JSONObject();
			json.put("name", codes.getName());
			json.put("value", codes.getValue());
			list.add(json);
		}
		return list;
	}
	

	
	/**
	 *
	 * @since 1.0
	 * @param code
	 * @return
	 * <br><b>作者： @author WangDong</b>
	 * <br>创建时间：2017-12-4 上午11:25:21
	 */
	public static AuthAttribute getAutoAttribute(String code){
		AuthAttribute codeValue = null;
		for(AuthAttribute codes : AuthAttribute.values()){
			if(codes.getValue().equals(code)){
				codeValue = codes;
				break;
			}
		}
		return codeValue == null ? AuthAttribute.SYSTEM : codeValue;
	}
	
	
	
	
	
	
	/**
	 * 根据Code 获取消息名称
	 * @since 1.0
	 * @param value
	 * @return
	 * <br><b>作者： @author WangDong</b>
	 * <br>创建时间：2017-12-4 上午11:24:53
	 */
	public static String getAutoAttributeName(Integer value){
		String name = null;
		for(AuthAttribute codes : AuthAttribute.values()){
			if(codes.getValue().equals(value)){
				name = codes.getName();
				break;
			}
		}
		//return name==null? AutoAttribute.DAI_SHOU_HUO.getName():name;
		return name==null? "无身份":name;
	}
	
	public static void main(String[] args) {
		String complaintType = AuthAttribute.getAutoAttributeName(4);
		System.out.println(complaintType);
		
		                                                                                                                                                                                                          ;                                                          ;
	}

	
}

